
#ifndef PARAMCONSTRAINTTEST_H_ 
#define PARAMCONSTRAINTTEST_H_

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "../common/basic/Parameter.h"
#include "../common/constraint/ConstraintHeaderSet.h"

using namespace std;
using namespace common;

class ParamConstraintTest : public CPPUNIT_NS :: TestFixture
{
	CPPUNIT_TEST_SUITE (ParamConstraintTest); 

#ifndef TEST_VIEW
	CPPUNIT_TEST (testFunction);
	CPPUNIT_TEST (testFunction3);
	CPPUNIT_TEST (testFunction5);
	CPPUNIT_TEST (testFunction7);
#endif
#ifdef TEST_VIEW
	CPPUNIT_TEST (testFunction2);
	CPPUNIT_TEST (testFunction4);
	CPPUNIT_TEST (testFunction6);
	CPPUNIT_TEST (testFunction8);
#endif

	CPPUNIT_TEST_SUITE_END ();

	public:
		void setUp (void);
		void tearDown (void);

	protected:

		void testFunction (void);
		void testFunction2 (void);
		void testFunction3 (void);
		void testFunction4 (void);
		void testFunction5 (void);
		void testFunction6 (void);
		void testFunction7 (void);
		void testFunction8 (void);
	private:
		Point* p1;
		Point* p2;
		Point* p3;
		Point* p4;

		Perpendicular* cPer1;
		Perpendicular* cPer2;
		FixPoint* cFix1;
		Horizontal* cH1;
		Vertical* cV1;


		ConnectPoints* con2point;
		Constraint* con;
		Constraint* con2;
		Parameter* param;
		int id;
		skreal value;
		skreal x ;
		skreal y ;
		skreal* val1;
		skreal* val2;
};

#endif /* PARAMCONSTRAINTTEST_H_ */
